home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / MISC / HTMLPRIM.ZIP / HTMLPRIM.TXT
Text File  |  1996-03-16  |  35KB  |  1,073 lines

  1.  
  2.                           A BEGINNER'S GUIDE TO HTML
  3.                                        
  4.    
  5.    
  6.    This is a primer for producing documents in HTML, the markup language
  7.    used by the World Wide Web.
  8.      * Acronym Expansion
  9.      * What This Primer Doesn't Cover
  10.      * Creating HTML Documents
  11.           + The Minimal HTML Document
  12.           + Basic Markup Tags
  13.                o Titles
  14.                o Headings
  15.                o Paragraphs
  16.           + Linking to Other Documents
  17.                o Relative Links Versus Absolute Pathnames
  18.                o Uniform Resource Locator
  19.                o Anchors to Specific Sections in Other Documents
  20.                o Anchors to Specific Sections Within the Current Document
  21.      * Additional Markup Tags
  22.           + Lists
  23.                o Unnumbered Lists
  24.                o Numbered Lists
  25.                o Definition Lists
  26.                o Nested Lists
  27.           + Preformatted Text
  28.           + Extended Quotes
  29.           + Addresses
  30.      * Character Formatting
  31.           + Physical Versus Logical: Use Logical Tags When Possible
  32.                o Logical Styles
  33.                o Physical Styles
  34.           + Using Character Tags
  35.           + Special Characters
  36.                o Escape Sequences
  37.                o Forced Line Breaks
  38.                o Horizontal Rules
  39.      * In-line Images
  40.           + Alternate Text for Viewers That Can't Display Images
  41.      * External Images, Sounds, and Animations
  42.      * Troubleshooting
  43.           + Avoid Overlapping Tags
  44.           + Embed Anchors and Character Tags, But Not Anything Else
  45.           + Check Your Links
  46.      * A Longer Example
  47.      * For More Information
  48.           + Fill-out Forms
  49.           + Style Guides
  50.           + Other Introductory Documents
  51.           + Additional References
  52.             
  53. Acronym Expansion
  54.  
  55.    WWW
  56.           World Wide Web (or Web, for short).
  57.    SGML
  58.           Standard Generalized Markup Language -- this is a standard for
  59.           describing markup languages.
  60.    DTD
  61.    
  62.           Document Type Definition -- this is a specific markup language,
  63.           written using SGML.
  64.    HTML
  65.    
  66.           HyperText Markup Language -- HTML is a SGML DTD. In practical
  67.           terms, HTML is a collection of styles (indicated by markup
  68.           tags) that define the various components of a World Wide Web
  69.           document.
  70.           
  71. What This Primer Doesn't Cover
  72.  
  73.    
  74.    
  75.    This primer assumes that you have:
  76.      * at least a passing knowledge of how to use NCSA Mosaic or some
  77.        other Web browser
  78.      * a general understanding of how Web servers and client browsers
  79.        work
  80.      * access to a Web server for which you would like to produce HTML
  81.        documents, or that you wish to produce HTML documents for personal
  82.        use
  83.        
  84. Creating HTML Documents
  85.  
  86.    
  87.    
  88.    HTML documents are in plain (also known as ASCII) text format and can
  89.    be created using any text editor (e.g., Emacs or vi on UNIX machines).
  90.    A couple of Web browsers (tkWWW for X Window System machines and
  91.    CERN's Web browser for NeXT computers) include rudimentary HTML
  92.    editors in a WYSIWYG environment. There are also some WYSIWIG editors
  93.    available now (e.g. HotMetal for Sun Sparcstations, HTML Edit for
  94.    Macintoshes). You may wish to try one of them first before delving
  95.    into the details of HTML.
  96.    
  97.      You can preview a document in progress with NCSA Mosaic (and some
  98.      other Web browsers). Open it with the Open Local command under
  99.      the File menu. 
  100.      
  101.      After you edit the source HTML file, save the changes. Return to
  102.      NCSA Mosaic and Reload the document. The changes are reflected in
  103.      the on-screen display.
  104.      
  105.   THE MINIMAL HTML DOCUMENT
  106.   
  107.    
  108.    
  109.    Here is a bare-bones example of HTML:
  110.  
  111.     <TITLE>The simplest HTML example</TITLE>
  112.     <H1>This is a level-one heading</H1>
  113.     Welcome to the world of HTML.
  114.     This is one paragraph.<P>
  115.     And this is a second.<P>
  116.  
  117.    Click here to see the formatted version of the example.
  118.    
  119.    HTML uses markup tags to tell the Web browser how to display the text.
  120.    The above example uses:
  121.      * the <TITLE> tag (and corresponding </TITLE> tag), which specifies
  122.        the title of the document
  123.      * the <H1> header tag (and corresponding </H1>)
  124.      * the <P> paragraph-separator tag
  125.        
  126.    
  127.    
  128.    HTML tags consist of a left angle bracket (<), (a ``less than'' symbol
  129.    to mathematicians), followed by name of the tag and closed by a right
  130.    angular bracket (>). Tags are usually paired, e.g. <H1> and </H1>. The
  131.    ending tag looks just like the starting tag except a slash (/)
  132.    precedes the text within the brackets. In the example, <H1> tells the
  133.    Web browser to start formatting a level-one heading; </H1> tells the
  134.    browser that the heading is complete.
  135.    
  136.    The primary exception to the pairing rule is the <P> tag. There is no
  137.    such thing as </P>.
  138.    
  139.    NOTE: HTML is not case sensitive. <title> is equivalent to <TITLE> or
  140.    <TiTlE>. 
  141.    
  142.    Not all tags are supported by all World Wide Web browsers. If a
  143.    browser does not support a tag, it just ignores it.
  144.    
  145.   BASIC MARKUP TAGS
  146.   
  147.     Title
  148.     
  149.    
  150.    
  151.    Every HTML document should have a title. A title is generally
  152.    displayed separately from the document and is used primarily for
  153.    document identification in other contexts (e.g., a WAIS search).
  154.    Choose about half a dozen words that describe the document's purpose.
  155.    
  156.      In the X Window System and Microsoft Windows versions of NCSA
  157.      Mosaic, the Document Title field is at the top of the screen just
  158.      below the pulldown menus. In NCSA Mosaic for Macintosh, text tagged
  159.      as <TITLE> appears as the window title.
  160.      
  161.     Headings
  162.     
  163.    
  164.    
  165.    HTML has six levels of headings, numbered 1 through 6, with 1 being
  166.    the most prominent. Headings are displayed in larger and/or bolder
  167.    fonts than normal body text. The first heading in each document should
  168.    be tagged <H1>. The syntax of the heading tag is:
  169.    
  170.    <Hy>Text of heading </Hy >
  171.    
  172.    where y is a number between 1 and 6 specifying the level of the
  173.    heading.
  174.    
  175.    For example, the coding for the ``Headings'' section heading above is
  176.  
  177.     <H3>Headings</H3>
  178.  
  179.       Title versus first heading
  180.       
  181.    
  182.    
  183.    In many documents, the first heading is identical to the title. For
  184.    multipart documents, the text of the first heading should be suitable
  185.    for a reader who is already browsing related information (e.g., a
  186.    chapter title), while the title tag should identify the document in a
  187.    wider context (e.g., include both the book title and the chapter
  188.    title, although this can sometimes become overly long).
  189.    
  190.     Paragraphs
  191.     
  192.    
  193.    
  194.    Unlike documents in most word processors, carriage returns in HTML
  195.    files aren't significant. Word wrapping can occur at any point in your
  196.    source file, and multiple spaces are collapsed into a single space.
  197.    (There are couple of exceptions; space following a <P> or <Hy> tag,
  198.    for example, is ignored.) Notice that in the bare-bones example, the
  199.    first paragraph is coded as
  200.  
  201.     Welcome to HTML.
  202.     This is the first paragraph. <P>
  203.  
  204.    
  205.    
  206.    In the source file, there is a line break between the sentences. A Web
  207.    browser ignores this line break and starts a new paragraph only when
  208.    it reaches a <P> tag.
  209.    
  210.    Important: You must separate paragraphs with <P>. The browser ignores
  211.    any indentations or blank lines in the source text. HTML relies almost
  212.    entirely on the tags for formatting instructions, and without the <P>
  213.    tags, the document becomes one large paragraph. (The exception is text
  214.    tagged as ``preformatted,'' which is explained below.) For instance,
  215.    the following would produce identical output as the first bare-bones
  216.    HTML example:
  217.  
  218.     <TITLE>The simplest HTML example</TITLE><H1>This is a level
  219.     one heading</H1>Welcome to the world of HTML. This is one
  220.     paragraph.<P>And this is a second.<P>
  221.  
  222.    
  223.    
  224.    However, to preserve readability in HTML files, headings should be on
  225.    separate lines, and paragraphs should be separated by blank lines (in
  226.    addition to the <P> tags).
  227.    
  228.      NCSA Mosaic handles <P> by ending the current paragraph and
  229.      inserting a blank line. 
  230.      
  231.    
  232.    
  233.    In HTML+, a successor to HTML currently in development, <P> becomes a
  234.    ``container'' of text, just as the text of a level-one heading is
  235.    ``contained'' within<H1> ... </H1>:
  236.  
  237.     <P>
  238.     This is a paragraph in HTML+.
  239.     </P>
  240.  
  241.    
  242.    
  243.    The difference is that the </P> closing tag can always be omitted.
  244.    (That is, if a browser sees a <P>, it knows that there must be an
  245.    implied </P> to end the previous paragraph.) In other words, in HTML+,
  246.    <P> is a beginning-of-paragraph marker.
  247.    
  248.    The advantage of this change is that you will be able to specify
  249.    formatting options for a paragraph. For example, in HTML+, you will be
  250.    able to center a paragraph by coding
  251.  
  252.     <P ALIGN=CENTER>
  253.     This is a centered paragraph. This is HTML+, so you can't do it yet.
  254.  
  255.    
  256.    
  257.    This change won't effect any documents you write now, and they will
  258.    continue to look just the same with HTML+ browsers.
  259.    
  260.   LINKING TO OTHER DOCUMENTS
  261.   
  262.    
  263.    
  264.    The chief power of HTML comes from its ability to link regions of text
  265.    (and also images) to another document. The browser highlights these
  266.    regions (usually with color and/or underlines) to indicate that they
  267.    are hypertext links (often shortened to hyperlinks or simply links).
  268.    
  269.    HTML's single hypertext-related tag is <A>, which stands for anchor.
  270.    To include an anchor in your document:
  271.     1. Start the anchor with <A . (There's a space after the A.)
  272.     2. Specify the document that's being pointed to by entering the
  273.        parameter HREF="filename" followed by a closing right angle
  274.        bracket: >
  275.     3. Enter the text that will serve as the hypertext link in the
  276.        current document.
  277.     4. Enter the ending anchor tag: </A>.
  278.        
  279.    
  280.    
  281.    Here is an sample hypertext reference:
  282.  
  283.     <A HREF="MaineStats.html">Maine</A>
  284.  
  285.    
  286.    
  287.    This entry makes the word ``Maine'' the hyperlink to the document
  288.    MaineStats.html, which is in the same directory as the first document.
  289.    You can link to documents in other directories by specifying the
  290.    relative path from the current document to the linked document. For
  291.    example, a link to a file NJStats.html located in the subdirectory
  292.    AtlanticStates would be:
  293.  
  294.     <A HREF="AtlanticStates/NJStats.html">New Jersey</A>
  295.  
  296.    
  297.    
  298.    These are called relative links. You can also use the absolute
  299.    pathname of the file if you wish. Pathnames use the standard UNIX
  300.    syntax.
  301.    
  302.     Relative Links Versus Absolute Pathnames
  303.     
  304.    
  305.    
  306.    In general, you should use relative links, because
  307.     1. You have less to type.
  308.     2. It's easier to move a group of documents to another location,
  309.        because the relative path names will still be valid.
  310.        
  311.    
  312.    
  313.    However, use absolute pathnames when linking to documents that are not
  314.    directly related. For example, consider a group of documents that
  315.    comprise a user manual. Links within this group should be relative
  316.    links. Links to other documents (perhaps a reference to related
  317.    software) should use full path names. This way, if you move the user
  318.    manual to a different directory, none of the links would have to be
  319.    updated.
  320.    
  321.     Uniform Resource Locator
  322.     
  323.    
  324.    
  325.    The World Wide Web uses Uniform Resource Locators (URLs) to specify
  326.    the location of files on other servers. A URL includes the type of
  327.    resource being accessed (e.g., gopher, WAIS), the address of the
  328.    server, and the location of the file. The syntax is:
  329.    
  330.    scheme://host.domain[:port]/path/filename
  331.    
  332.    where scheme is one of
  333.    file
  334.    
  335.           a file on your local system, or a file on an anonymous FTP
  336.           server
  337.    http
  338.           a file on a World Wide Web server
  339.    gopher
  340.           a file on a Gopher server
  341.    WAIS
  342.           a file on a WAIS server
  343.    news
  344.           an Usenet newsgroup
  345.    telnet
  346.           a connection to a Telnet-based service
  347.           
  348.    
  349.    
  350.    The port number can generally be omitted. (That means unless someone
  351.    tells you otherwise, leave it out.)
  352.    
  353.    For example, to include a link to this primer in your document, you
  354.    would use
  355.  
  356.     <A HREF = "http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html">
  357.     NCSA's Beginner's Guide to HTML</A>
  358.  
  359.    
  360.    
  361.    This would make the text ``NCSA's Beginner's Guide to HTML'' a
  362.    hyperlink to this document.
  363.    
  364.    For more information on URLs, look at
  365.      * WWW Names and Addresses, URIs, URLs, URNs, written by people at
  366.        CERN
  367.      * A Beginner's Guide to URLs, located on the NCSA Mosaic Help menu
  368.        
  369.     Links to Specific Sections in Other Documents
  370.     
  371.    
  372.    
  373.    Anchors can also be used to move to a particular section in a
  374.    document. Suppose you wish to set a link from document A and a
  375.    specific section in document B. (Call this file documentB.html.) First
  376.    you need to set up a named anchor in document B. For example, to set
  377.    up an anchor named ``Jabberwocky'' to document B, enter
  378.  
  379.     Here's <A NAME = "Jabberwocky">some text</a>
  380.  
  381.    
  382.    
  383.    Now when you create the link in document A, include not only the
  384.    filename, but also the named anchor, separated by a hash mark (#).
  385.  
  386.     This is my <A HREF = "documentB.html#Jabberwocky">link</A> to document B.
  387.  
  388.    
  389.    
  390.    Now clicking on the word ``link'' in document A sends the reader
  391.    directly to the words ``some text'' in document B.
  392.    
  393.     Links to Specific Sections Within the Current Document
  394.     
  395.    
  396.    
  397.    The technique is exactly the same except the filename is omitted.
  398.    
  399.    For example, to link to the Jabberwocky anchor from within the same
  400.    file (Document B), use
  401.  
  402.     This is <A HREF = "#Jabberwocky">Jabberwocky link</A> from within Document
  403. B.
  404.  
  405. Additional Markup Tags
  406.  
  407.    
  408.    
  409.    The preceding is sufficient to produce simple HTML documents. For more
  410.    complex documents, HTML has tags for several types of lists,
  411.    preformatted sections, extended quotations, character formatting, and
  412.    other items.
  413.    
  414.   LISTS
  415.   
  416.    
  417.    
  418.    HTML supports unnumbered, numbered, and definition lists.
  419.    
  420.     Unnumbered Lists
  421.     
  422.    
  423.    
  424.    To make an unnumbered list,
  425.     1. Start with an opening list <UL> tag.
  426.     2. Enter the <LI> tag followed by the individual item. (No closing
  427.        </LI> tag is needed.)
  428.     3. End with a closing list </UL> tag.
  429.        
  430.    
  431.    
  432.    Below an example two-item list:
  433.  
  434.     <UL>
  435.     <LI> apples
  436.     <LI> bananas
  437.     </UL>
  438.  
  439.    
  440.    
  441.    The output is:
  442.      * apples
  443.      * bananas
  444.        
  445.    
  446.    
  447.    The <LI> items can contain multiple paragraphs. Just separate the
  448.    paragraphs with the <P> paragraph tags.
  449.    
  450.     Numbered Lists
  451.     
  452.    
  453.    
  454.    A numbered list (also called an ordered list, from which the tag name
  455.    derives) is identical to an unnumbered list, except it uses <OL>
  456.    instead of <UL>. The items are tagged using the same <LI> tag. The
  457.    following HTML code
  458.  
  459.     <OL>
  460.     <LI> oranges
  461.     <LI> peaches
  462.     <LI> grapes
  463.     </OL>
  464.  
  465.    
  466.    
  467.    produces this formatted output:
  468.     1. oranges
  469.     2. peaches
  470.     3. grapes
  471.        
  472.     Definition Lists 
  473.     
  474.    
  475.    
  476.    A definition list usually consists of alternating a term (abbreviated
  477.    as DT) and a definition (abbreviated as DD). Web browsers generally
  478.    format the definition on a new line.
  479.    
  480.    The following is an example of a definition list:
  481.  
  482.     <DL>
  483.     <DT> NCSA
  484.     <DD> NCSA, the National Center for Supercomputing Applications,
  485.          is located on the campus of the University of Illinois
  486.          at Urbana-Champaign. NCSA is one of the participants in the
  487.          National MetaCenter for Computational Science and Engineering.
  488.     <DT> Cornell Theory Center
  489.     <DD> CTC is located on the campus of Cornell University in Ithaca,
  490.          New York. CTC is another participant in the National MetaCenter
  491.          for Computational Science and Engineering.
  492.     </DL>
  493.  
  494.    
  495.    
  496.    The output looks like:
  497.    NCSA
  498.           NCSA, the National Center for Supercomputing Applications, is
  499.           located on the campus of the University of Illinois at
  500.           Urbana-Champaign. NCSA is one of the participants in the
  501.           National MetaCenter for Computational Science and Engineering.
  502.    Cornell Theory Center
  503.           CTC is located on the campus of Cornell University in Ithaca,
  504.           New York. CTC is another participant in the National MetaCenter
  505.           for Computational Science and Engineering.
  506.           
  507.    
  508.    
  509.    The <DT> and <DD> entries can contain multiple paragraphs (separated
  510.    by <P> paragraph tags), lists, or other definition information.
  511.    
  512.     Nested Lists
  513.     
  514.    
  515.    
  516.    Lists can be arbitrarily nested, although in practice you probably
  517.    should limit the nesting to three levels. You can also have a number
  518.    of paragraphs, each containing a nested list, in a single list item.
  519.    
  520.    An example nested list:
  521.  
  522.     <UL>
  523.     <LI> A few New England states:
  524.         <UL>
  525.         <LI> Vermont
  526.         <LI> New Hampshire
  527.         </UL>
  528.     <LI> One Midwestern state:
  529.         <UL>
  530.         <LI> Michigan
  531.         </UL>
  532.     </UL>
  533.  
  534.    
  535.    
  536.    The nested list is displayed as
  537.      * A few New England states:
  538.           + Vermont
  539.           + New Hampshire
  540.      * One Midwestern state:
  541.           + Michigan
  542.             
  543.   PREFORMATTED TEXT
  544.   
  545.    
  546.    
  547.    Use the <PRE> tag (which stands for ``preformatted'') to generate text
  548.    in a fixed-width font and cause spaces, new lines, and tabs to be
  549.    significant. (That is, multiple spaces are displayed as multiple
  550.    spaces, and lines break in the same locations as in the source HTML
  551.    file.) This is useful for program listings. For example, the following
  552.    lines
  553.  
  554.     <PRE>
  555.       #!/bin/csh
  556.       cd $SCR
  557.       cfs get mysrc.f:mycfsdir/mysrc.f
  558.       cfs get myinfile:mycfsdir/myinfile
  559.       fc -02 -o mya.out mysrc.f
  560.       mya.out
  561.       cfs save myoutfile:mycfsdir/myoutfile
  562.       rm *
  563.     </PRE>
  564.  
  565.    
  566.    
  567.    display as
  568.  
  569.       #!/bin/csh
  570.       cd $SCR
  571.       cfs get mysrc.f:mycfsdir/mysrc.f
  572.       cfs get myinfile:mycfsdir/myinfile
  573.       fc -02 -o mya.out mysrc.f
  574.       mya.out
  575.       cfs save myoutfile:mycfsdir/myoutfile
  576.       rm *
  577.  
  578.    
  579.    
  580.    Hyperlinks can be used within <PRE> sections. You should avoid using
  581.    other HTML tags within <PRE> sections, however.
  582.    
  583.    Note that because <, >, and & have special meaning in HTML, you have
  584.    to use their escape sequences (<, >, and &, respectively) to
  585.    enter these characters. See the section Special Characters for more
  586.    information.
  587.    
  588.   EXTENDED QUOTATIONS
  589.   
  590.    
  591.    
  592.    Use the <BLOCKQUOTE> tag to include quotations in a separate block on
  593.    the screen. Most browsers generally indent to separate it from
  594.    surrounding text.
  595.    
  596.    An example:
  597.  
  598.     <BLOCKQUOTE>
  599.     I still have a dream. It is a dream deeply rooted in the
  600.     American dream. <P>
  601.     I have a dream that one day this nation will rise up and
  602.     live out the true meaning of its creed. We hold these truths
  603.     to be self-evident that all men are created equal. <P>
  604.     </BLOCKQUOTE>
  605.  
  606.    
  607.    
  608.    The result is:
  609.    
  610.      I still have a dream. It is a dream deeply rooted in the American
  611.      dream.
  612.      
  613.      I have a dream that one day this nation will rise up and live out
  614.      the true meaning of its creed. We hold these truths to be
  615.      self-evident that all men are created equal.
  616.      
  617.   ADDRESSES
  618.   
  619.    
  620.    
  621.    The <ADDRESS> tag is generally used to specify the author of a
  622.    document and a means of contacting the author (e.g., an email
  623.    address). This is usually the last item in a file.
  624.    
  625.    For example, the last line of the online version of this guide is
  626.  
  627.     <ADDRESS>
  628.     A Beginner's Guide to HTML / NCSA / pubs@ncsa.uiuc.edu
  629.     </ADDRESS>
  630.  
  631.    
  632.    
  633.    The result is
  634.     A Beginner's Guide to HTML / NCSA / pubs@ncsa.uiuc.edu
  635.     
  636.    
  637.    
  638.    NOTE: <ADDRESS> is not used for postal addresses. See ``Forced Line
  639.    Breaks'' on page 10 to see how to format postal addresses.
  640.    
  641. Character Formatting
  642.  
  643.    
  644.    
  645.    You can code individual words or sentences with special styles. There
  646.    are two types of styles: logical and physical. Logical styles tag text
  647.    according to its meaning, while physical styles specify the specific
  648.    appearance of a section. For example, in the preceding sentence, the
  649.    words ``logical styles'' was tagged as a ``definition.'' The same
  650.    effect (formatting those words in italics), could have been achieved
  651.    via a different tag that specifies merely ``put these words in
  652.    italics.''
  653.    
  654.   PHYSICAL VERSUS LOGICAL: USE LOGICAL STYLES WHEN POSSIBLE
  655.   
  656.    
  657.    
  658.    If physical and logical styles produce the same result on the screen,
  659.    why are there both? We devolve, for a couple of paragraphs, into the
  660.    philosophy of SGML, which can be summed in a Zen-like mantra: ``Trust
  661.    your browser.''
  662.    
  663.    In the ideal SGML universe, content is divorced from presentation.
  664.    Thus, SGML tags a level-one heading as a level-one heading, but does
  665.    not specify that the level-one heading should be, for instance,
  666.    24-point bold Times centered on the top of a page. The advantage of
  667.    this approach (it's similar in concept to style sheets in many word
  668.    processors) is that if you decide to change level-one headings to be
  669.    20-point left-justified Helvetica, all you have to do is change the
  670.    definition of the level-one heading in the presentation device (i.e.,
  671.    your World Wide Web browser).
  672.    
  673.    The other advantage of logical tags is that they help enforce
  674.    consistency in your documents. It's easier to tag something as <H1>
  675.    than to remember that level-one headings are 24-point bold Times or
  676.    whatever. The same is true for character styles. For example, consider
  677.    the <STRONG> tag. Most browsers render it in bold text. However, it is
  678.    possible that a reader would prefer that these sections be displayed
  679.    in red instead. Logical styles offer this flexibility.
  680.    
  681.     Logical Styles
  682.    <DFN>
  683.           for a word being defined. Typically displayed in italics. (NCSA
  684.           Mosaic is a World Wide Web browser.)
  685.    <EM>
  686.           for emphasis. Typically displayed in italics. (Watch out for
  687.           pickpockets.)
  688.    <CITE>
  689.           for titles of books, films, etc. Typically displayed in
  690.           italics. (A Beginner's Guide to HTML)
  691.    <CODE>
  692.           for snippets of computer code. Displayed in a fixed-width font.
  693.           (The <stdio.h> header file)
  694.    <KBD>
  695.           for user keyboard entry. Should be displayed in a bold
  696.           fixed-width font, but many browsers render it in the plain
  697.           fixed-width font. (Enter passwd to change your password.)
  698.    <SAMP>
  699.           for computer status messages. Displayed in a fixed-width font.
  700.           (Segmentation fault: Core dumped.)
  701.    <STRONG>
  702.           for strong emphasis. Typically displayed in bold. (Important)
  703.    <VAR>
  704.           for a ``metasyntactic'' variable, where the user is to replace
  705.           the variable with a specific instance. Typically displayed in
  706.           italics. (rm filename deletes the file.)
  707.           
  708.     Physical Styles
  709.    <B>
  710.           bold text
  711.    <I>
  712.           italic text
  713.    <TT>
  714.           typewriter text, e.g. fixed-width font.
  715.           
  716.   USING CHARACTER TAGS
  717.   
  718.    
  719.    
  720.    To apply a character style,
  721.     1. Start with <tag>, where tag is the desired character formatting
  722.        tag, to indicate the beginning of the tagged text.
  723.     2. Enter the tagged text.
  724.     3. End the passage with </tag>.
  725.        
  726.   SPECIAL CHARACTERS
  727.   
  728.     Escape Sequences
  729.     
  730.    
  731.    
  732.    Four characters of the ASCII character set -- the left angle bracket
  733.    (<), the right angle bracket (>), the ampersand (&) and the double
  734.    quote (") -- have special meaning within HTML and therefore cannot be
  735.    used ``as is'' in text. (The angle brackets are used to indicate the
  736.    beginning and end of HTML tags, and the ampersand is used to indicate
  737.    the beginning of an escape sequence.)
  738.    
  739.    To use one of these characters in an HTML document, you must enter its
  740.    escape sequence instead:
  741.    <
  742.           the escape sequence for <
  743.    >
  744.           the escape sequence for >
  745.    &
  746.           the escape sequence for &
  747.    "
  748.           the escape sequence for "
  749.           
  750.    
  751.    
  752.    Additional escape sequences support accented characters. For example:
  753.    ö
  754.           the escape sequence for a lowercase o with an umlaut: ÷
  755.    ñ
  756.           the escape sequence for a lowercase n with an tilde: ±
  757.    È
  758.           the escape sequence for an uppercase E with a grave accent: ╚
  759.           
  760.    
  761.    
  762.    A full list of supported characters can be found at CERN.
  763.    
  764.    NOTE: Unlike the rest of HTML, the escape sequences are case
  765.    sensitive. You cannot, for instance, use < instead of <.
  766.    
  767.     Forced Line Breaks
  768.     
  769.    
  770.    
  771.    The <BR> tag forces a line break with no extra space between lines.
  772.    (By contrast, most browsers format the <P> paragraph tag with an
  773.    additional blank line to more clearly indicate the beginning the new
  774.    paragraph.)
  775.    
  776.    One use of <BR> is in formatting addresses:
  777.  
  778.     National Center for Supercomputing Applications<BR>
  779.     605 East Springfield Avenue<BR>
  780.     Champaign, Illinois 61820-5518<BR>
  781.  
  782.     Horizontal Rules
  783.     
  784.    
  785.    
  786.    The <HR> tag produces a horizontal line the width of the browser
  787.    window.
  788.    
  789. In-line Images
  790.  
  791.    
  792.    
  793.    Most Web browsers can display in-line images (that is, images next to
  794.    text) that are in X Bitmap (XBM) or GIF format. Each image takes time
  795.    to process and slows down the initial display of the document, so
  796.    generally you should not include too many or overly large images.
  797.    
  798.    To include an in-line image, use
  799.  
  800.     <IMG SRC=image_URL>
  801.  
  802.    
  803.    
  804.    where image_URL is the URL of the image file. The syntax for IMG SRC
  805.    URLs is identical to that used in an anchor HREF. If the image file is
  806.    a GIF file, then the filename part of image_URL must end with .gif.
  807.    Filenames of X Bitmap images must end with .xbm.
  808.    
  809.    By default the bottom of an image is aligned with the text as shown in
  810.    this paragraph.
  811.    
  812.    Add the ALIGN=TOP option if you want the browser to align adjacent
  813.    text with the top of the image as shown in this paragraph. The full
  814.    in-line image tag with the top alignment is:
  815.  
  816.     <IMG ALIGN=top SRC=image_URL>
  817.  
  818.    
  819.    
  820.    ALIGN=MIDDLE aligns the text with the center of the image.
  821.    
  822.   ALTERNATE TEXT FOR BROWSERS THAT CAN'T DISPLAY IMAGES
  823.   
  824.    
  825.    
  826.    Some World Wide Web browsers, primarily those that run on VT100
  827.    terminals, cannot display images. The ALT option allows you to specify
  828.    text to be displayed when an image cannot be. For example:
  829.  
  830.     <IMG SRC = "UpArrow.gif" ALT = "Up">
  831.  
  832.    
  833.    
  834.    where UpArrow.gif is the picture of an upward pointing arrow. With
  835.    NCSA Mosaic and other graphics-capable viewers, the user sees the up
  836.    arrow graphic. With a VT100 browser, such as lynx, the user sees the
  837.    word ``Up.''
  838.    
  839. External Images, Sounds, and Animations
  840.  
  841.    
  842.    
  843.    You may want to have an image open as a separate document when a user
  844.    activates a link on either a word or a smaller, in-line version of the
  845.    image included in your document. This is considered an external image
  846.    and is useful if you do not wish to slow down the loading of the main
  847.    document with large in-line images.
  848.    
  849.    To include a reference to an external image, use
  850.  
  851.     <A HREF = image_URL>link anchor</A>
  852.  
  853.    
  854.    
  855.    Use the same syntax is for links to external animations and sounds.
  856.    The only difference is the file extension of the linked file. For
  857.    example,
  858.    
  859.    <A HREF = "QuickTimeMovie.mov">link anchor</A>
  860.    
  861.    specifies a link to a QuickTime movie. Some common file types and
  862.    their extensions are:
  863.    File Type
  864.           Extension
  865.    Plain text
  866.           .txt
  867.    HTML document
  868.           .html
  869.    GIF image
  870.           .gif
  871.    TIFF image
  872.           .tiff
  873.    XBM bitmap image
  874.           .xbm
  875.    JPEG image
  876.           .jpg or .jpeg
  877.    PostScript file
  878.           .ps
  879.    AIFF sound
  880.           .aiff
  881.    AU sound
  882.           .au
  883.    QuickTime movie
  884.           .mov
  885.    MPEG movie
  886.           .mpeg or .mpg
  887.           
  888.    
  889.    
  890.    Make sure your intended audience has the necessary viewers. Most UNIX
  891.    workstations, for instance, cannot view QuickTime movies.
  892.    
  893. Troubleshooting
  894.  
  895.   AVOID OVERLAPPING TAGS
  896.   
  897.    
  898.    
  899.    Consider this snippet of HTML:
  900.  
  901.     <B>This is an example of <DFN>overlapping</B> HTML tags.</DFN>
  902.  
  903.    
  904.    
  905.    The word ``overlapping'' is contained within both the <B> and <DFN>
  906.    tags. How does the browser format it? You won't know until you look,
  907.    and different browsers will likely react differently. In general,
  908.    avoid overlapping tags.
  909.    
  910.   EMBED ANCHORS AND CHARACTER TAGS, BUT NOTHING ELSE
  911.   
  912.    
  913.    
  914.    It is acceptable to embed anchors within another HTML element:
  915.  
  916.     <H1><A HREF = "Destination.html">My heading</A></H1>
  917.  
  918.    
  919.    
  920.    Do not embed a heading or another HTML element within an anchor:
  921.  
  922.     <A HREF = "Destination.html">
  923.     <H1>My heading</H1>
  924.     </A>
  925.  
  926.    
  927.    
  928.    Although most browsers currently handle this example, it is forbidden
  929.    by the official HTML and HTML+ specifications, and will not work with
  930.    future browsers.
  931.    
  932.    Character tags modify the appearance of other tags:
  933.  
  934.     <UL><LI><B>A bold list item</B>
  935.         <UL>
  936.         <LI><I>An italic list item</I>
  937.     </UL>
  938.  
  939.    
  940.    
  941.    However, avoid embedding other types of HTML element tags. For
  942.    example, it is tempting to embed a heading within a list, in order to
  943.    make the font size larger:
  944.  
  945.     <UL><LI><H1>A large heading</H1>
  946.         <UL>
  947.         <LI><H2>Something slightly smaller</H2>
  948.     </UL>
  949.  
  950.    
  951.    
  952.    Although some browsers, such as NCSA Mosaic for the X Window System,
  953.    format this construct quite nicely, it is unpredictable (because it is
  954.    undefined) what other browsers will do. For compatibility with all
  955.    browsers, avoid these kinds of constructs.
  956.    
  957.    What's the difference between embedding a <B> within a <LI> tag as
  958.    opposed to embedding a <H1> within a <LI>? This is again a question of
  959.    SGML. The semantic meaning of <H1> is that it's the main heading of a
  960.    document and that it should be followed by the content of the
  961.    document.Thus it doesn't make sense to find a <H1> within a list.
  962.    
  963.    Character formatting tags also are generally not additive. You might
  964.    expect that
  965.  
  966.     <B><I>some text</I></B>
  967.  
  968.    
  969.    
  970.    would produce bold-italic text. On some browsers it does; other
  971.    browsers interpret only the innermost tag (here, the italics).
  972.    
  973.   CHECK YOUR LINKS
  974.   
  975.    
  976.    
  977.    When an <IMG> tag points at an image that does not exist, a dummy
  978.    image is substituted. When this happens, make sure that the referenced
  979.    image does in fact exist, that the hyperlink has the correct
  980.    information in the URL, and that the file permission is set
  981.    appropriately (world-readable).
  982.    
  983. A Longer Example
  984.  
  985.    
  986.    
  987.    Here is a longer example of an HTML document:
  988.  
  989.     <HEAD>
  990.     <TITLE>A Longer Example</TITLE>
  991.     </HEAD>
  992.     <BODY>
  993.     <H1>A Longer Example</H1>
  994.     This is a simple HTML document. This is the first
  995.     paragraph. <P>
  996.     This is the second paragraph, which shows special effects.  This is a
  997.     word in <I>italics</I>.  This is a word in <B>bold</B>.
  998.     Here is an in-lined GIF image: <IMG SRC = "myimage.gif">.
  999.     <P>
  1000.     This is the third paragraph, which demonstrates links.  Here is
  1001.     a hypertext link from the word <A HREF = "subdir/myfile.html">foo</A>
  1002.     to a document called "subdir/myfile.html". (If you
  1003.     try to follow this link, you will get an error screen.) <P>
  1004.     <H2>A second-level header</H2>
  1005.     Here is a section of text that should display as a
  1006.     fixed-width font: <P>
  1007.     <PRE>
  1008.         On the stiff twig up there
  1009.         Hunches a wet black rook
  1010.         Arranging and rearranging its feathers in the rain ...
  1011.     </PRE>
  1012.     This is a unordered list with two items: <P>
  1013.     <UL>
  1014.     <LI> cranberries
  1015.     <LI> blueberries
  1016.     </UL>
  1017.     This is the end of my example document. <P>
  1018.     <ADDRESS>Me (me@mycomputer.univ.edu)</ADDRESS>
  1019.     </BODY>
  1020.  
  1021.    Click here to see the formatted version.
  1022.    
  1023.    In addition to tags already discussed, this example also uses the
  1024.    <HEAD> ... </HEAD> and <BODY> ... </BODY> tags, which separate the
  1025.    document into introductory information about the document and the main
  1026.    text of the document. These tags don't change the appearance of the
  1027.    formatted document at all, but are useful for several purposes (for
  1028.    example, NCSA Mosaic for Macintosh 2.0, for example, allows you to
  1029.    browse just the header portion of document before deciding whether to
  1030.    download the rest), and it is recommended that you use these tags.
  1031.    
  1032. For More Information
  1033.  
  1034.    
  1035.    
  1036.    This guide is only an introduction to HTML and not a comprehensive
  1037.    reference. Below are additional sources of information.
  1038.    
  1039.   FILL-OUT FORMS
  1040.   
  1041.    
  1042.    
  1043.    One major feature not discussed here is fill-out forms, which allows
  1044.    users to return information to the World Wide Web server. For
  1045.    information on fill-out forms, look at this Fill-out Forms Overview
  1046.    
  1047.   STYLE GUIDES
  1048.   
  1049.    
  1050.    
  1051.    The following offer advice on how to write ``good'' HTML:
  1052.      * Composing Good HTML
  1053.      * CERN's style guide for online hypert
  1054.        
  1055.   OTHER INTRODUCTORY DOCUMENTS
  1056.   
  1057.    These cover similar information as this guide:
  1058.      * How to Write HTML Files
  1059.      * Introduction to HTML
  1060.        
  1061.   ADDITIONAL REFERENCES
  1062.      * The HTML Quick Reference Guide, which provides a comprehensive
  1063.        listing of HTML codes
  1064.      * The official HTML specification
  1065.      * A description of SGML, the Standard Generalized Markup Language
  1066.      * Dan Connolly's HTML Design Notebook. Dan Connolly is one of the
  1067.        originators of HTML.
  1068.        
  1069.    
  1070.      _________________________________________________________________
  1071.    
  1072.     National Center for Supercomputing Applications / pubs@ncsa.uiuc.edu
  1073.